package com.mall.service;


import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.mall.entity.Goods;
import org.apache.ibatis.annotations.Update;

import java.util.List;

/**
 * @author ShouPeng
 * @since 2024-01-14
 * 商品服务层
 */
public interface IGoodsService {
    /**
     * 查询商品
     * @param page 页码
     * @return goods
     */
    IPage<Goods> queryGoods(Page<Goods> page);


    /**
     * 新品推荐
     * @return goods
     */
    List<Goods> queryGoodsNew();

    /**
     * @param categoryId 分类ID
     * @param page 分页对象
     * @return goods s
     * 根据分类ID查询商品
     */
    IPage<Goods> queryGoodsByCategoryId(Page<Goods> page,String categoryId);

    /**
     * @param key 关键字
     * @param page 分页对象
     * @return goods
     */
    IPage<Goods> searchGoods(Page<Goods> page,String key);


    /**
     * 查询某一个商品的详细信息
     * @return A Goods
     */
    Goods queryGoodsInfo(String goodsId);

    /**
     * 减少库存
     * @param count
     * @param goodsId
     * @return
     */
    boolean minusGoodsStock(Integer count,String goodsId);

}
